草庐IT

c++ - CoInitializeEx 用于 boost::test::unit_test

全部标签

unit-testing - 如何测试是否调用了 defer

我有以下代码func(s*MyRepo)InsertOrder(ctxcontext.Context,orderIDstring)error{query:=`INSERTINTOorders(orderID)VALUES(?)`stmt,err:=s.db.RawDatabase().PrepareContext(ctx,query)iferr!=nil{returnerr}deferstmt.Close()_,err=stmt.ExecContext(ctx,orderID)iferr!=nil{//logerr}returnerr}对应的测试用例是funcTestMyRepo_In

unit-testing - 如何在我的 go 测试中实现 faker?

我正在尝试学习Go并编写我的第一个测试。我想弄清楚如何实现一个伪造者来测试terraform上的CRUD。我已经弄清楚如何导入faker并创建要使用的变量。我尝试使用fmt.Println来查看它是否生成,但是如果它是一个测试,我在哪里可以看到Println。当我去测试时它不打印。functestCheckTritonUserDelete(s*terraform.State)error{fmt.Println("INsidetestCheckTritonUserDelete")fmt.Println(fake.UserName())returnnil//这是我要打印的函数

unit-testing - 在单元测试中使用随机数与硬编码值

这个问题在这里已经有了答案:WhatarethedownsidesusingrandomvaluesinUnitTesting?(11个答案)RandomdatainUnitTests?(20个答案)关闭3年前。当我写测试的时候,我喜欢用随机数来计算东西。例如funcinit(){rand.Seed(time.Now().UnixNano())}funcTestXYZ(t*testing.T){amount:=rand.Intn(100)cnt:=1+rand.Intn(10)fori:=0;i当然有缺点expected:=calcExpected(amount,cnt)因为需要根据随

适用于所有平台的二进制文件

我有一个.go文件,并使用Mac的gobuild命令生成了二进制文件。有没有办法构建一个在windows、linux、IOS中运行的二进制文件?我知道我们可以通过更改GOOS、GOARCH参数为它们中的每一个构建二进制文件,但我想要一个应该在所有平台上运行的单一go二进制文件。请帮我解决这个问题。提前致谢 最佳答案 不,在Go或任何其他编程语言中根本不可能(可执行文件必须针对各个平台和架构量身定制)。然而,为了交叉编译,一些tools确实存在为您进行交叉编译的。这post有助于解释如何与Golang交叉编译(此时非常容易)。还有一个

testing - 我应该使用哪种方法来测试 golang 中的 func main()?

我在main.go中有一个函数main()可以完成这项工作,所有其他函数都在它下面(我没有在这里包括它们)。因此,当我为main中包含的所有funcs编写测试时,我可以测试它们。但是代码覆盖率很低,因为它表明我没有覆盖main函数中的代码。我知道测试库中有一个TestMain函数可以完成这项工作,但我就是不知道如何让它工作,以便测试涵盖funcmain()。下面是我的main()函数,它没有被测试覆盖...funcmain(){c,err:=getConfig()iferr!=nil{log.Fatal(err)}slideshows,err:=getSlideshows(c)ifer

javascript - JSON 解码数组不起作用,但相同的数据适用于 javascript

我尝试将一些数组值放入我发送到浏览器的JSON字符串中,并且在浏览器中动态添加一些输入字段时工作正常,但是当我尝试在Go上检查来自这些新字段的数据时,我尝试解码相同的数据但不工作,因为值是空的。这是代码:packagemainimport"fmt"import"encoding/json"typePublicKeystruct{Namestring`json:"name"`Typestring`json:"type"`Descriptionstring`json:"description"`Values[]string`json:"values"`}funcmain(){keysBod

go - 如何确定哪个 Go 版本用于编译二进制文件

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭4年前。Improvethisquestion当我运行命令时gobuild我最终得到的应用程序比需要的大,无法运行并且有很多错误。我和其他人使用相同的来源,我知道不同的操作系统会有所不同,但它是否会影响实际程序及其工作方式?我如何找出使用了哪个版本的Go以及在已编译的应用程序上使用了哪个编译器?这只是一个应用程序文件。

unit-testing - 如何为一小时后函数返回时间编写单元测试

我有以下函数,它在当前时间添加给定的小时数并在中返回新时间funcgetExpiryTime(hourint)*string{constlayout="2006-01-02T15:04:05Z"expiryTime:=time.Now().Local().Add(time.Hour*time.Duration(hour))returnaws.String(expiryTime.Format(layout))}为此功能编写单元测试的最佳方法是什么? 最佳答案 您可以尝试模拟时间提供程序并在您的模拟中设置time.Now()函数以返回您

c - 为什么 C 比 Go 或 D 更快地构建小程序?

关闭。这个问题需要detailsorclarity.它目前不接受答案。想改进这个问题吗?通过editingthispost添加细节并澄清问题.关闭6年前。ImprovethisquestionGo和D宣称拥有非常快的编译器。由于语言本身的现代设计考虑了并发单程解析。了解大部分构建时间浪费在链接阶段。我想知道为什么gcc在小程序上仍然更快。C#includeintmain(){printf("Hello\n");}$timegcchello.creal0m0.724suser0m0.030ssys0m0.046sDIdiomaticimportstd.stdio;voidmain(){w

c - C 和 GO 之间的图像大小不匹配

读取图像并计算其字节大小在C和Go中产生不同的结果:使用相同的图像,这是我在c中的readFile函数:FILE*inputFile=fopen(inputFilename,"rb");if(inputFile==NULL){printf("cannotopenfile%s",inputFilename);return0;}else{fseek(inputFile,0,SEEK_END);longfsize=ftell(inputFile);rewind(inputFile);return(fsize);}在Go中,相同的图像://requeststhesameimageasabove